Skip to content

feat(ble): add typed listen_gear/listen_ui_desire broadcast listeners#89

Merged
Bre77 merged 1 commit into
mainfrom
fm/tfa-typed-listeners-gear-uidesire
Jul 22, 2026
Merged

feat(ble): add typed listen_gear/listen_ui_desire broadcast listeners#89
Bre77 merged 1 commit into
mainfrom
fm/tfa-typed-listeners-gear-uidesire

Conversation

@Bre77

@Bre77 Bre77 commented Jul 22, 2026

Copy link
Copy Markdown
Member

Intent

  • PR chore(proto): mirror app-recovered command-domain proto extensions #87 mirrored VehicleStatus.gear/uiDesire into the vcsec proto but left them reachable only through the untyped listen_broadcast fallback - its own body flagged this as a known gap.
  • Add listen_gear/listen_ui_desire to BroadcastListeners (tesla_fleet_api/tesla/vehicle/broadcast.py), following the existing scalar-enum listener pattern (listen_vehicle_lock_state/listen_vehicle_sleep_status/listen_user_presence): both fields have no proto3 presence tracking, so they fire on every VehicleStatus broadcast with the zero-value default when unset.
  • Tests in tests/test_ble_broadcast_listeners.py cover the typed-value and default-value (absent-field) cases for both listeners.
  • Updated docs/bluetooth_vehicles.md's listener table and always-fires note.

VehicleStatus.gear/uiDesire (added in the app-recovered proto mirror) were
only reachable via the untyped listen_broadcast fallback. Add the two typed
listeners following the existing scalar-enum listener pattern.
@Bre77
Bre77 merged commit cc5dd02 into main Jul 22, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant